<template>
	<view>
		<van-cell title="个人资料" is-link @click="redirectToProfile" />
		<van-cell title="收获地址" is-link />
		<van-cell title="实名认证" is-link />
		<view class="margin-top-7"></view>
		<van-cell title="消息推送">
			<van-switch v-model="checked" size="24px" @change="onSwitchChange" />
		</van-cell>
		<view class="margin-top-7"></view>
		<van-cell title="清除缓存" is-link @click="clearCache" />
		<van-cell title="关于Dcloud" is-link @click="goAboutPage" />
		<van-cell title="检查更新" is-link @click="checkUpdate">
			<view class="van-cell-text">当前版本 1.0.3</view>
		</van-cell>
		<view class="margin-top-10"></view>
		<van-cell title="退出登录" @click="logout" />
	</view>
</template>

<script>
	export default {
		data() {
			return {
				checked: false, // 消息推送开关状态，默认为关闭
				login: 0
			};
		},
		methods: {
			onSwitchChange(value) {
				this.checked = value;
				console.log('消息推送开关状态:', value);
				// 可以在这里处理开关状态变化的逻辑，比如保存状态到本地存储或发送给服务器
				uni.setStorage({
					key: 'messagePushStatus',
					data: value,
					success: () => {
						console.log('消息推送状态保存成功');
					},
					fail: (err) => {
						console.error('消息推送状态保存失败', err);
					}
				});
			},
			onLoad() {
				// 读取本地存储中的开关状态
				uni.getStorage({
					key: 'messagePushStatus',
					success: (res) => {
						this.checked = res.data;
					},
					fail: () => {
						this.checked = false; // 如果没有数据，默认关闭
					}
				});
			},
			redirectToProfile() {
				uni.redirectTo({
					url: '../user/change/myzl'
				});
			},
			clearCache() {
				// TODO: 实现清除缓存的逻辑
				uni.showToast({
					title: '清除缓存成功',
					icon: 'success'
				});
			},
			goAboutPage() {
				// TODO: 跳转到关于页面
				uni.navigateTo({
					url: '../about/about'
				});
			},
			checkUpdate() {
				// TODO: 检查更新的逻辑，可以使用 uni.request 或者小程序的检查更新 API
				uni.showToast({
					title: '当前已是最新版本',
					icon: 'none'
				});
			},
			logout() {
				uni.showModal({
					title: '退出登录',
					content: '确定要退出登录吗？',
					success: res => {
						if (res.confirm) {
							uni.removeStorage({
								key: 'userData',
								success: function() {
									uni.switchTab({
										url: '../user/user'
									});
									uni.showToast({
										title: '退出成功',
										icon: 'success'
									});

								},
								fail: function() {
									uni.showToast({
										title: '退出失败',
										icon: 'none'
									});
								}
							});
						}
					}
				});

			}
		}
	};
</script>

<style scoped>
	.margin-top-7 {
		margin-top: 7px;
	}

	.margin-top-10 {
		margin-top: 10px;
	}
</style>